Revert "wayland: Add support for gtk_surface1_titlebar_gesture()"
authorMatthias Clasen <mclasen@redhat.com>
Sat, 28 Jan 2023 02:33:38 +0000 (21:33 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 28 Jan 2023 02:34:44 +0000 (21:34 -0500)
This reverts commit 45ba6e9329798f9d24c9220d0583c1d01c2f8562.

This caused regressions in libhandy-using applications.

Fixes: #5389
gdk/gdk-private.c
gdk/gdk-private.h
gdk/gdkinternals.h
gdk/gdkwindow.c
gdk/gdkwindowimpl.h
gdk/wayland/gdkdisplay-wayland.c
gdk/wayland/gdkwindow-wayland.c
gdk/wayland/protocol/gtk-shell.xml
gtk/gtkwindow.c

index 0a7438162c54a72b3a8764d494b457a600fa3da5..750edcd374a9f4704189d17a0ed95d95d0e4a893 100644 (file)
@@ -22,8 +22,7 @@ gdk__private__ (void)
     gdk_get_desktop_autostart_id,
     gdk_profiler_is_running,
     gdk_profiler_start,
-    gdk_profiler_stop,
-    gdk_window_titlebar_gesture,
+    gdk_profiler_stop
   };
 
   return &table;
index 4b616370b7355587840295edfdc3ed9916ccdfeb..c71abe463432eb58b4f01e5a2e4116c63fc05132 100644 (file)
@@ -66,9 +66,6 @@ typedef struct {
   gboolean (* gdk_profiler_is_running) (void);
   void     (* gdk_profiler_start)      (int fd);
   void     (* gdk_profiler_stop)       (void);
-
-  gboolean (* gdk_window_titlebar_gesture) (GdkWindow          *window,
-                                            GdkTitlebarGesture  gesture);
 } GdkPrivateVTable;
 
 GDK_AVAILABLE_IN_ALL
index 468d328c2208ff870f6dae8ad57dd09a751f1cfc..e2c1d10c9c88180f1bef685712efba0f68fd2276 100644 (file)
@@ -557,9 +557,6 @@ void _gdk_synthesize_crossing_events_for_geometry_change (GdkWindow *changed_win
 gboolean    _gdk_window_has_impl (GdkWindow *window);
 GdkWindow * _gdk_window_get_impl_window (GdkWindow *window);
 
-gboolean gdk_window_titlebar_gesture (GdkWindow          *window,
-                                      GdkTitlebarGesture  gesture);
-
 /*****************************
  * offscreen window routines *
  *****************************/
index 727b0cf1f439d3258284f84434453ce448134ed0..2d0ed0f963f54894c86b29daa9a3abd9f4a0b62d 100644 (file)
@@ -11998,20 +11998,3 @@ gdk_window_show_window_menu (GdkWindow *window,
   else
     return FALSE;
 }
-
-gboolean
-gdk_window_titlebar_gesture (GdkWindow          *window,
-                             GdkTitlebarGesture  gesture)
-{
-  GdkWindowImplClass *impl_class;
-
-  g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
-  g_return_val_if_fail (!GDK_WINDOW_DESTROYED (window), FALSE);
-
-  impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl);
-
-  if (impl_class->titlebar_gesture)
-    return impl_class->titlebar_gesture (window, gesture);
-  else
-    return FALSE;
-}
index 1993e1208352569014f94ec56f3f12dd92eff66a..c72472372df0bc9f734cc47a89d9b4b8bb465275 100644 (file)
 
 G_BEGIN_DECLS
 
-typedef enum
-{
-  GDK_TITLEBAR_GESTURE_DOUBLE_CLICK   = 1,
-  GDK_TITLEBAR_GESTURE_RIGHT_CLICK    = 2,
-  GDK_TITLEBAR_GESTURE_MIDDLE_CLICK   = 3
-} GdkTitlebarGesture;
-
 #define GDK_TYPE_WINDOW_IMPL           (gdk_window_impl_get_type ())
 #define GDK_WINDOW_IMPL(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WINDOW_IMPL, GdkWindowImpl))
 #define GDK_WINDOW_IMPL_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WINDOW_IMPL, GdkWindowImplClass))
@@ -322,9 +315,6 @@ struct _GdkWindowImplClass
                                                const cairo_region_t *region);
   void               (* destroy_draw_context) (GdkWindow            *window,
                                                GdkDrawingContext    *context);
-
-  gboolean (* titlebar_gesture) (GdkWindow          *window,
-                                 GdkTitlebarGesture  gesture);
 };
 
 /* Interface Functions */
index 55c0388ec6b5fba770ee4d37bd4b48626005ba1b..cabf7d5568173af69551f9a5e65422e0e62cf784 100644 (file)
@@ -84,7 +84,7 @@
 
 #define MIN_SYSTEM_BELL_DELAY_MS 20
 
-#define GTK_SHELL1_VERSION       5
+#define GTK_SHELL1_VERSION       4
 #ifdef HAVE_XDG_ACTIVATION
 #define XDG_ACTIVATION_VERSION   1
 #endif
index 041c4d3898d1ac0c6166eaa677041af7499ca4c4..ac04c11eb5b032f282176212b3f82690f23da42b 100644 (file)
@@ -4871,65 +4871,6 @@ gdk_wayland_window_show_window_menu (GdkWindow *window,
   return TRUE;
 }
 
-static gboolean
-translate_gesture (GdkTitlebarGesture         gesture,
-                   enum gtk_surface1_gesture *out_gesture)
-{
-  switch (gesture)
-    {
-    case GDK_TITLEBAR_GESTURE_DOUBLE_CLICK:
-      *out_gesture = GTK_SURFACE1_GESTURE_DOUBLE_CLICK;
-      break;
-
-    case GDK_TITLEBAR_GESTURE_RIGHT_CLICK:
-      *out_gesture = GTK_SURFACE1_GESTURE_RIGHT_CLICK;
-      break;
-
-    case GDK_TITLEBAR_GESTURE_MIDDLE_CLICK:
-      *out_gesture = GTK_SURFACE1_GESTURE_MIDDLE_CLICK;
-      break;
-
-    default:
-      g_warning ("Not handling unknown titlebar gesture %u", gesture);
-      return FALSE;
-    }
-
-  return TRUE;
-}
-
-static gboolean
-gdk_wayland_window_titlebar_gesture (GdkWindow          *window,
-                                     GdkTitlebarGesture  gesture)
-{
-  GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
-  struct gtk_surface1 *gtk_surface = impl->display_server.gtk_surface;
-  enum gtk_surface1_gesture gtk_gesture;
-  GdkSeat *seat;
-  struct wl_seat *wl_seat;
-  uint32_t serial;
-
-  if (!gtk_surface)
-    return FALSE;
-
-  if (gtk_surface1_get_version (gtk_surface) < GTK_SURFACE1_TITLEBAR_GESTURE_SINCE_VERSION)
-    return FALSE;
-
-  if (!translate_gesture (gesture, &gtk_gesture))
-    return FALSE;
-
-  seat = gdk_display_get_default_seat (gdk_window_get_display (window));
-  wl_seat = gdk_wayland_seat_get_wl_seat (seat);
-
-  serial = _gdk_wayland_seat_get_last_implicit_grab_serial (seat, NULL);
-
-  gtk_surface1_titlebar_gesture (impl->display_server.gtk_surface,
-                                 serial,
-                                 wl_seat,
-                                 gtk_gesture);
-
-  return TRUE;
-}
-
 static void
 _gdk_window_impl_wayland_class_init (GdkWindowImplWaylandClass *klass)
 {
@@ -5021,7 +4962,6 @@ _gdk_window_impl_wayland_class_init (GdkWindowImplWaylandClass *klass)
   impl_class->show_window_menu = gdk_wayland_window_show_window_menu;
   impl_class->create_gl_context = gdk_wayland_window_create_gl_context;
   impl_class->invalidate_for_new_frame = gdk_wayland_window_invalidate_for_new_frame;
-  impl_class->titlebar_gesture = gdk_wayland_window_titlebar_gesture;
 
   signals[COMMITTED] = g_signal_new ("committed",
                                      G_TYPE_FROM_CLASS (object_class),
index a8d51c65d39af98cbf27bd0ceb6f77f7952ccdf3..1aab593c424832597e39171d9204b22f87907207 100644 (file)
@@ -1,6 +1,6 @@
 <protocol name="gtk">
 
-  <interface name="gtk_shell1" version="5">
+  <interface name="gtk_shell1" version="4">
     <description summary="gtk specific extensions">
       gtk_shell is a protocol extension providing additional features for
       clients implementing it.
@@ -35,7 +35,7 @@
     </request>
   </interface>
 
-  <interface name="gtk_surface1" version="5">
+  <interface name="gtk_surface1" version="4">
     <request name="set_dbus_properties">
       <arg name="application_id" type="string" allow-null="true"/>
       <arg name="app_menu_path" type="string" allow-null="true"/>
 
     <!-- Version 4 additions -->
     <request name="release" type="destructor" since="4"/>
-
-    <!-- Version 5 additions -->
-    <enum name="gesture" since="5">
-      <entry name="double_click" value="1"/>
-      <entry name="right_click" value="2"/>
-      <entry name="middle_click" value="3"/>
-    </enum>
-
-    <enum name="error" since="5">
-      <entry name="invalid_gesture" value="0"/>
-    </enum>
-
-    <request name="titlebar_gesture" since="5">
-      <arg name="serial" type="uint"/>
-      <arg name="seat" type="object" interface="wl_seat"/>
-      <arg name="gesture" type="uint" enum="gesture"/>
-    </request>
   </interface>
 
 </protocol>
index e1b09a3658e4cc218a217f1dc66fd6d9b49cb1cb..22b99876d6571ac2b88a1ab8191cec882dfd1cfe 100644 (file)
@@ -1385,34 +1385,10 @@ gtk_window_titlebar_action (GtkWindow      *window,
                             guint           button,
                             gint            n_press)
 {
-  GdkTitlebarGesture gesture = 0;
-  GdkWindow *gdk_window;
   GtkSettings *settings;
   gchar *action = NULL;
   gboolean retval = TRUE;
 
-  switch (button)
-    {
-    case GDK_BUTTON_PRIMARY:
-      if (n_press == 2)
-        gesture = GDK_TITLEBAR_GESTURE_DOUBLE_CLICK;
-      break;
-    case GDK_BUTTON_MIDDLE:
-      gesture = GDK_TITLEBAR_GESTURE_MIDDLE_CLICK;
-      break;
-    case GDK_BUTTON_SECONDARY:
-      gesture = GDK_TITLEBAR_GESTURE_RIGHT_CLICK;
-      break;
-    }
-
-  gdk_window = _gtk_widget_get_window (GTK_WIDGET (window));
-  if (gesture &&
-      GDK_PRIVATE_CALL (gdk_window_titlebar_gesture (gdk_window, gesture)))
-    {
-      retval = TRUE;
-      goto out;
-    }
-
   settings = gtk_widget_get_settings (GTK_WIDGET (window));
   switch (button)
     {
@@ -1458,7 +1434,6 @@ gtk_window_titlebar_action (GtkWindow      *window,
 
   g_free (action);
 
-out:
   return retval;
 }